package com.keensense.vcm.model;

import java.util.List;

import javax.xml.bind.annotation.*;

/**
 * @author lanjian
 * @date 2020/5/18 7:30 下午
 */
@XmlRootElement(name = "request")
@XmlAccessorType(XmlAccessType.FIELD)
public class ProfileQueryFacesRequest {

    private ProfileQueryFacesRequest() {
    }

    public ProfileQueryFacesRequest(String dId, List<Spatiotemporal> spatiotemporals, PageModel page) {
        this.dId = dId;
        this.spatiotemporals = spatiotemporals;
        this.page = page;
    }

    @XmlElement
    private String dId;

    @XmlElement
    private String algorithmCode;

    @XmlElementWrapper(name = "spatiotemporals")
    @XmlElement(name = "spatiotemporal")
    private List<Spatiotemporal> spatiotemporals;

    @XmlElement
    private PageModel page;


    @XmlTransient
    public String getdId() {
        return dId;
    }

    public void setdId(String dId) {
        this.dId = dId;
    }

    @XmlTransient
    public String getAlgorithmCode() {
        return algorithmCode;
    }

    public void setAlgorithmCode(String algorithmCode) {
        this.algorithmCode = algorithmCode;
    }

    @XmlTransient
    public List<Spatiotemporal> getSpatiotemporals() {
        return spatiotemporals;
    }

    public void setSpatiotemporals(List<Spatiotemporal> spatiotemporals) {
        this.spatiotemporals = spatiotemporals;
    }

    @XmlTransient
    public PageModel getPage() {
        return page;
    }

    public void setPage(PageModel page) {
        this.page = page;
    }

    /**
     * 时空信息
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class Spatiotemporal {

        private Spatiotemporal() {
        }

        public Spatiotemporal(int timeType) {
            this.timeType = timeType;
        }

        private String cameraSNs;

        private String startTime;

        private String endTime;

        private String startDate;

        private String endDate;

        private Long startDateTime;

        private Long endDateTime;

        private int timeType;

        public String getCameraSNs() {
            return cameraSNs;
        }

        public void setCameraSNs(String cameraSNs) {
            this.cameraSNs = cameraSNs;
        }

        public String getStartTime() {
            return startTime;
        }

        public void setStartTime(String startTime) {
            this.startTime = startTime;
        }

        public String getEndTime() {
            return endTime;
        }

        public void setEndTime(String endTime) {
            this.endTime = endTime;
        }

        public String getStartDate() {
            return startDate;
        }

        public void setStartDate(String startDate) {
            this.startDate = startDate;
        }

        public String getEndDate() {
            return endDate;
        }

        public void setEndDate(String endDate) {
            this.endDate = endDate;
        }

        public Long getStartDateTime() {
            return startDateTime;
        }

        public void setStartDateTime(Long startDateTime) {
            this.startDateTime = startDateTime;
        }

        public Long getEndDateTime() {
            return endDateTime;
        }

        public void setEndDateTime(Long endDateTime) {
            this.endDateTime = endDateTime;
        }

        public int getTimeType() {
            return timeType;
        }

        public void setTimeType(int timeType) {
            this.timeType = timeType;
        }
    }
}
